package com.yuesystem.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuesystem.dto.responsebody.CollectFolderResponseBody;
import com.yuesystem.entity.CollectFolder;
import java.util.List;

/**
 * 收藏夹接口.
 */
public interface CollectFolderService extends IService<CollectFolder> {
  /**
   * 获取某个用户的收藏夹列表.
   *
   * @return 收藏夹列表
   */
  List<CollectFolderResponseBody> getUserFolder();

  /**
   * 删除文件夹.
   *
   * @param folderId 收藏夹id
   * @return 操作是否成功
   */
  Boolean removeFolder(Long folderId);

  /**
   * 用户新建收藏夹.
   *
   * @param folderName 收藏夹名称
   * @param desc 收藏夹描述
   * @return 操作是否成功
   */
  Boolean add(String folderName, String desc);

  /**
   * 检测当前新建收藏夹是否与已有收藏夹名称重复.
   *
   * @param folderName 用户输入的收藏夹名称
   * @return 是否重复
   */
  Boolean isRepeat(String folderName);

  /**
   * 获取某个收藏夹下的收藏条目数.
   *
   * @param folderId 收藏夹id
   * @return 收藏夹下的收藏条目数
   */
  int getItemNum(Long folderId);
}
